#ifndef _ALUCLOCKTICKS_H
#define _ALUCLOCKTICKS_H   1

extern "C" {
#include <stdio.h>
#include <time.h>
}

///////////////////////////////////////////////////////////////////////////////
//
// class declarations
//

//
// class aluClockTicks
// - return ticks in desired resolution
//
class aluClockTicks {
 private:
  long ns;
  long nsRes;
  struct timespec timeStart;
 public:
  aluClockTicks(unsigned long ns = static_cast<long>(1e9)/100);
  virtual ~aluClockTicks();
  
  void Reset();
  void SetTime(const struct timespec *time);
  long GetTicks();
};

#endif
